The ability to transmit data rapidly to virtually any place in the world has become one of the defining characteristics of the current information age. This ability comes at a cost, however, because it requires a global infrastructure for providing telecommunications services. Since the origins of the telecommunications infrastructure in local telephone networks, many successful attempts have been made to control costs by making the existing infrastructure perform more tasks and functions. Generally, these attempts have involved either increasing the ability of the existing telecommunications infrastructure to handle more data, or preprocessing raw data so that less data need be transmitted to convey the same amount of information.
Attempts to increase the data handling capabilities of the existing telecommunications infrastructure have included such techniques as the use of time and frequency division multiplexing. In time division multiplexing, multiple low speed channels are combined for transmission over a single high speed channel. In frequency division multiplexing, a large capacity channel is subdivided into a number of lower capacity channels. More recent development of these multiplexing techniques lies in modern packet switched networks, where data streams are broken into small segments that may be routed individually to take advantage of available channel capacity.
Sometimes, however, the available channel capacity between two or more locations is either physically limited or otherwise expensive. A dramatic example of this situation has involved communications between space probes and earth stations. Large quantities of scientific data, and particularly pictures, need to be transmitted from the spacecraft to earth via relatively low capacity channels. The solution to this problem has been the development of compression techniques that reduce the amount of data required to transmit the same amount or approximately the same amount of information.
Compression techniques generally operate by changing the representation of information from one set of data to another set of data. In the process of compression, extraneous or unnecessary information, including redundancies, may be eliminated. Using such techniques, many common representations, such as photographs and human speech recordings, can often be substantially compressed with relatively little loss of information.
Telephone carriers have widely used multiplexing techniques to take advantage of available channel capacity in transmitting human speech. More recently, and particularly with the advent of cellular telephones that operate in environments with limited channel capacity, carriers have also employed compression techniques to increase the transmission capacities of their telecommunications infrastructures. Commonly used compression techniques used are often lossy, i.e., some information is irretrievably lost, and result in changes to the xe2x80x9csoundxe2x80x9d of a speaker even though the words being uttered are still understandable.
The application of compression techniques has generally focused on individual communications paths and particularly on the endpoints of those paths. If compression results in the reduction in the amount of data that must be transmitted then it is logical to apply compression as close to the source of the data as possible. Thus, for example, pictures are typically compressed within space probes before they are transmitted, and likewise speech is typically compressed in cellular telephone handsets before it is transmitted. This trend has been particularly evident in traditional telephone system environments where, until recently, little computer capability to perform compression has been available at central offices and high capacity relay stations.
Especially in competitive telecommunications environments, there is continuing pressure to reduce costs and increase efficiency by making better use of the existing telecommunications infrastructure. In many cases, however, this infrastructure has recently changed radically, due to the use of various packet switching techniques to transport data. These changes were experienced initially by corporations using packet switched networks to transmit data in bulk, and more recently there has also been an increasing effect of use of these techniques on traditional telephone communications, as exemplified by U.S. Pat. No. 5,751,706 (describing a system and method for establishing a call telecommunications path that, in some embodiments, makes use of packet switched networks to transport telephone calls). These changes have also resulted in the concentration of computer processing capacity at locations where many individual data channels come together in high capacity packet switched networks.
Data compression techniques typically change the representation of information to remove extraneous or unnecessary information, including, for example, redundancies. Depending on the representation scheme employed, a particular data channel may contain substantial redundant extraneous or unnecessary information, and therefore be highly compressible. Similarly, a group of data channels, particularly if they are carrying related forms of information such as human telephone conversations, may contain substantial redundant extraneous or unnecessary information in common amongst the group of channels and thus be capable of being compressed as a group to a greater degree than if the channels were compressed individually. The availability of substantial computing power at locations where many individual data channels come together in high capacity packet switched networks provides an attractive environment for taking advantage of the compressability of groups of data channels.
Many compression techniques, defined in this specification as including the operations of quantization, scaling, and coding, are known in the art. The degree of compression provided by a particular technique, however, may be highly dependent on the arrangement or structure of the data to be compressed. Simply dispatching data, originating in multiple individual channels, to a compression mechanism will not, in many cases, take advantage of the redundant, extraneous or unnecessary information in common amongst the multiple channels. In contrast, the organization of data before it is compressed, which is a focus of the system and method of the present invention, enables the compression mechanism to take substantial advantage of the xe2x80x9cin commonxe2x80x9d redundant, extraneous, or unnecessary information.
Of course, compression is not an end in itself, but merely facilitates the transmission of representations of sequences of digital data elements to another location where the sequences of digital data elements are approximately or completely reconstructed. As used in this specification, the term xe2x80x9ccompression-sidexe2x80x9d refers to the processing of that takes place from the receipt of information from communications channels to the presentation of compressed data to a transmission network for onward transmission. The term xe2x80x9cdecompression-sidexe2x80x9d refers to all of the processing that takes place from the receipt of compressed data from a transmission network to the presentation of approximately or completely reconstructed information to communications channels for onward transmission.
In a preferred embodiment, the present invention enables multiple voice-grade telephone channels, such as might be present at a telephone company central office, to be transmitted via packet-switched computer network in compressed form to a destination location where the multiple voice-grade telephone channels are approximately or exactly reconstructed for final transmission to ultimate destinations. A user of one of these voice-grade telephone channels would be at least substantially unaware that his call was transmitted via a packet switched network rather than through customary telephone company facilities.
As used in this specification, the term xe2x80x9cchannelxe2x80x9d refers to both the data transported by a communications channel as well as the signaling information that is used to establish, control, and dis-establish the communications channel. In preferred embodiments of the present invention, communications channels may be permanent connections between two locations where little or no signaling information is required. In other preferred embodiments of the present invention, communications channels may provide temporary, switched services, for example normal consumer dial-up telephone service, that require extensive signaling.
As used in this specification, the terms xe2x80x9cconnection,xe2x80x9d xe2x80x9cactive connection,xe2x80x9d and xe2x80x9cactive channelxe2x80x9d refer to either a permanent connection between multiple locations or to a switched connection that has been or is being established between multiple locations. The term xe2x80x9cinactive channelxe2x80x9d refers to an available switched channel that is not currently providing, or in the process of providing, a connection between multiple locations. This distinction is significant since the system of the present invention transports, approximately or exactly, all data carried by active channels supported by the system of the present invention, while that system does not transport any data that may be present on inactive channels. Thus, even silence (which may occur, for example, during pauses in a telephone conversation) or line noise is transported by the system of the present invention for active connections, while neither silence, line noise, or any other data would be transported for inactive channels. Note, however, that in a preferred embodiment, silence is represented as a brief code, as is known in the art, rather than by representations extending for the duration of the silence.
A human-speech telephone conversation is generally transmitted as a continuously varying analog waveform, or as a sequence of digital data elements representing that waveform. In preferred embodiments of the present invention, data transported by each of multiple channels is received as a sequence of digital data elements or is converted for reception to a sequence of digital data elements by a preprocessor, and is transmitted as sequence of digital data elements or is converted for transmission to a continuously varying analog waveform.
The reconstruction of a channel that is transporting a sequence of digital data elements requires knowledge of the values of the digital data elements (xe2x80x9cvalue informationxe2x80x9d), their position in time with respect to each other (xe2x80x9csequence informationxe2x80x9d), and other information that relates the digital data elements to the channel. Throughout all of the compression-side processing, transmission, and decompression-side processing, it is necessary to maintain both value information and sequence information for each sequence of digital data elements that is being transported. Value information is normally maintained explicitly, as is known in the art, by placing particular data elements in various data structures during processing. Sequence information, however, may, as is known in the art, be maintained explicitly, implicitly, or as a combination of both. The term xe2x80x9cidentification informationxe2x80x9d is used in this specification to denote sequence information for particular data elements as well as other information that relates the particular data elements to a particular data channel. It must be noted that identification information may change at each processing stage to reflect the current manner in which sequence and other information is related to particular groups of data elements. A variety of techniques for maintaining identification information are known in the art.
The basic data structure processed by the system of the present invention is termed a xe2x80x9csource-identified-frame,xe2x80x9d and, in a preferred embodiment, includes an ordered set of digital data elements. In this preferred embodiment, the ordered set of digital elements in a source-identified-frame is a subset of the entire ordered set of digital data elements being transported by a particular data channel. Such a subset of data elements is commonly referred to as a xe2x80x9ctime slicexe2x80x9d of the data channel. Also included in this preferred embodiment is identification information that identifies the particular data channel that transported the subset of digital data elements, and that identifies the position of the subset in the entire ordered set of digital data elements. In a preferred embodiment, the number of digital data elements in a source-identified-frame is fixed. In a preferred embodiment, the system of the present invention is provided with source-identified-frames. In an alternative embodiment, the system of the present invention creates source-identified-frames by processing the data being transported by data channels in an operation termed herein as xe2x80x9csegmenting.xe2x80x9d In preferred embodiments, segmenting is a function of the preprocessor element of the system for processing data from multiple channels of the present invention and of the segmenting step of the method of processing data from multiple channels of the present invention.
The following is a brief summary of the operation of the present invention. Detailed examples of the operation of the invention are provided below in the Detailed Description of the Preferred Embodiments.
On the compression side, source-identified-frames from multiple channels are independently transformed into transformed-source-identified-frames. A source-identified-frame may be transformed into more than one transformed-source-identified-frame. The transformed-source-identified-frames are then grouped together into one or more frame-blocks. Each frame-block is independently transformed into a transformed-frame-block. The transformed-frame-blocks are then compressed into data-streams and the data-streams are made available to a transmission network for transport to a destination for decompression side processing.
On the decompression side, the data-streams are received from a transmission network and decompressed into transformed-frame-blocks. Each transformed-frame-block is independently inverse-transformed into a frame-block. Each frame-block is broken down into its constituent transformed-source-identified-frames. Transformed-source-identified-frames are assembled together as required and are inverse-transformed into source-identified-frames. The source-identified-frames are made available to multiple channels for transport to ultimate destinations. It should be noted that, due to potential losses in the compression and decompression processes as are known in the art, the contents of a particular source-identified-frame may change somewhat as the source-identified-frame traverses the compression side and the decompression side of the system of the present invention.
An object of the invention is to provide a system and method for processing data from multiple channels to remove extraneous or unnecessary information both within individual channels and in common among the multiple channels.
A further object of the invention is to provide a system and method for processing data originally derived from multiple channels, from which extraneous or unnecessary information both within individual channels and in common among the multiple channels has been removed, to approximately or exactly reconstruct the original data.
A further object of the invention is to provide a system and method for processing human speech data from each of multiple channels into a compressed representation for transport by a packet switched network.
A further object of the invention is to provide a system and method for processing compressed representations of human speech data in order to approximately or exactly reconstruct the human speech data.
The present invention, as broadly described herein, provides a system for processing data from multiple channels including a first transformer, a classifier which is in communication with the first transformer, a second transformer which is in communication with the classifier, and a compression-side postprocessor which is in communication with the second transformer and a transmission network.
As broadly described herein, the system of the present invention for processing data from multiple channels may also include a compression-side preprocessor, in communication with the first transformer, that is an interface to a plurality of data channels.
The present invention, as broadly described herein, also provides a system for processing data for multiple channels including a decompression-side preprocessor which is in communication with a transmission network, a first-inverse transformer which is in communication with the decompression-side preprocessor, an assembler which is in communication with the first inverse-transformer, and a second inverse-transformer which is in communication with the assembler.
As broadly described herein, the system of the present invention for processing data for multiple channels may also include a decompression-side postprocessor, in communication with the second inverse-transformer, that is an interface to at least one data channel.
The present invention, as broadly described herein, also provides a method for processing data from multiple channels including the steps of receiving a plurality of source-identified-frames; transforming at least one source-identified-frame into at least one transformed-source-identified-frame; categorizing at least one transformed-source-identified-frame by domain type wherein there is at least one prespecified domain type; categorizing at least one transformed-source-identified-frame by category type wherein there is at least one prespecified category type; grouping at least one transformed-source-identified-frame into at least one frame-block, responsive to the domain type and the category type of the transformed-source-identified-frame; transforming at least one frame-block into at least one data-stream; and transmitting at least one data-stream to a transmission network.
As broadly described herein, the method of the present invention for processing data from multiple channels many also include the steps of receiving a plurality of data channels; segmenting at least one data channel into a plurality of source-identified-frames; and transmitting the plurality of source-identified-frames.
The present invention, as broadly described herein, also provides a method for processing data for multiple channels including the steps of receiving at least one data-stream from a transmission network; decompressing the data-stream into at least one transformed-frame-block; inverse-transforming the transformed-frame-block into at least one frame-block; separating the frame-block into at least one transformed-source-identified-frame; and inverse-transforming the transformed-source-identified-frame into at least one source-identified-frame.
As broadly described herein, the method of the present invention for processing data for multiple channels includes the step of combining, responsive to a source-identified-frame, the source-identified-frame into at least one data channel.
Additional objects and advantages of the invention are set forth in part in the description that follows, and in part are obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may also be realized and attained by means of the steps, instrumentalities, and combinations particularly set out in the appended claims.